home *** CD-ROM | disk | FTP | other *** search
- /******************************************************************************
- *
- * NSSDC/CDF Write an entry value(s).
- *
- * Version 1.0, 26-Feb-92, Hughes STX
- *
- * Modification history:
- *
- * V1.0 26-Feb-92, J Love Original version.
- *
- ******************************************************************************/
-
- #include "cdfdist.h"
-
- /******************************************************************************
- * WriteEntryValue.
- ******************************************************************************/
-
- void WriteEntryValue (fp, dataType, numElements, value, ccc, MaXcc)
- FILE *fp;
- long dataType;
- long numElements;
- void *value;
- int ccc;
- int MaXcc;
- {
- switch (dataType) {
- case CDF_CHAR:
- case CDF_UCHAR:
- WriteStringValue (fp, numElements, value, ccc, MaXcc);
- break;
-
- default: {
- int elemN, n;
- char evalue[80+1];
- int cccBase = ccc;
- Boolean newLine = TRUE;
-
- for (elemN = 0; elemN < numElements; elemN++) {
- n = EncodeValue (dataType, (Byte *) value + elemN*ElemSize(dataType),
- evalue);
-
- if (ccc + (newLine ? 0 : 1) + n +
- (elemN != numElements - 1 ? 1 : 0) > MaXcc) {
- fprintf (fp, "\n");
- nCHARACTERS (fp, cccBase, ' ');
- ccc = cccBase;
- newLine = TRUE;
- }
-
- if (!newLine) ccc += fprintf (fp, " ");
- ccc += fprintf (fp, "%s", evalue);
- if (elemN != numElements - 1) ccc += fprintf (fp, ",");
- newLine = FALSE;
- }
-
- break;
- }
- }
-
- return;
- }
-